home *** CD-ROM | disk | FTP | other *** search
/ C++ für Kids / C++ for kids.iso / Buch / Ding1.cpp < prev    next >
C/C++ Source or Header  |  1999-01-26  |  2KB  |  64 lines

  1. //---------------------------------------------------------------------------
  2. #include <vcl\vcl.h>
  3. #pragma hdrstop
  4.  
  5. #include "Ding1.h"
  6. //---------------------------------------------------------------------------
  7. #pragma resource "*.dfm"
  8.  
  9. template <class AllThing> class TThing
  10. {
  11. private:
  12.   AllThing Daten;
  13. public:
  14.   virtual void Change (AllThing D);
  15.   virtual AllThing Typ (void) {return Daten;};
  16.   TThing (AllThing D);
  17.   virtual ~TThing (void) {};
  18. };
  19.  
  20. const int Max = 10;
  21. String Namen[Max] = {"Frank", "Julia", "Berti", "Lara", "Sigi",
  22.                     "Anna",  "Otto",  "Rita",  "Rudi", "Inge"};
  23.  
  24. // Objekte auch mal ohne Zeiger
  25. TThing <String> Ding1 ("???");
  26. TThing <double> Ding2 (0);
  27.  
  28. TForm1 *Form1;
  29.  
  30. //---------------------------------------------------------------------------
  31. template <class AllThing> TThing<AllThing>::TThing(AllThing D)
  32. {
  33.   Daten = D;
  34. };
  35. //---------------------------------------------------------------------------
  36. template <class AllThing>
  37. void TThing<AllThing>::Change (AllThing D)
  38. {
  39.   Daten = D;
  40. }
  41. //---------------------------------------------------------------------------
  42. __fastcall TForm1::TForm1(TComponent* Owner)
  43.     : TForm(Owner)
  44. {
  45. }
  46. //---------------------------------------------------------------------------
  47. void __fastcall TForm1::Button1Click(TObject *Sender)
  48. {
  49.   Button1->Caption = Ding1.Typ ();
  50.   Ding1.Change (Namen[random(Max)]);
  51. }
  52. //---------------------------------------------------------------------------
  53. void __fastcall TForm1::Button2Click(TObject *Sender)
  54. {
  55.   Button2->Caption =
  56.     FloatToStrF (Ding2.Typ()/100, ffNumber, 8, 2);
  57.   Ding2.Change (random(1000000));
  58. }
  59. //---------------------------------------------------------------------------
  60. void __fastcall TForm1::FormCreate(TObject *Sender)
  61. {
  62.   randomize ();
  63. }
  64. //---------------------------------------------------------------------------